#include "ventanaconsulta.h"
#include "ui_ventanaconsulta.h"
#include <QDesktopWidget>
#include <QStyle>
#include <QMenu>
#include <QAction>
#include <Utils/Utils.h>

VentanaConsulta::VentanaConsulta(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::VentanaConsulta)
{
    ui->setupUi(this);

    this->setWindowFlags(Qt::Tool);
    this->setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, this->size(), qApp->desktop()->availableGeometry()));

    //Se instancian el modelo y el filtro para el modelo
    filtro = new QxtSortFilterProxyModel(this);
    modeloConsulta = new QSqlRelationalTableModel(this);
    ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
    ui->tableView->resizeColumnsToContents();
    ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
    ui->tableView->setSortingEnabled(true);
    ui->tableView->setAlternatingRowColors(true);

    menu = new QMenu(this);
    menu->addAction(ui->GuardarPDF);

    ui->saveAs->setPopupMode(QToolButton::InstantPopup);
    ui->saveAs->setMenu(menu);

    this->setContextMenuPolicy(Qt::DefaultContextMenu);
}

VentanaConsulta::~VentanaConsulta()
{
    delete ui;
    delete menu;
    delete modeloConsulta;
    delete filtro;
}

void VentanaConsulta::on_registrar_clicked()
{

}

void VentanaConsulta::on_modificar_clicked()
{

}

void VentanaConsulta::on_eliminar_clicked()
{

}


void VentanaConsulta::on_refrescarTabla_clicked()
{

}

void VentanaConsulta::on_textoBusqueda_textChanged(const QString &arg1)
{
    qDebug() << arg1;
}

//Devuelve los indices seleccionados en la fila seleccionada y columna pasada como argumento(id)

QModelIndexList VentanaConsulta::obtenerIndicesSeleccionados(int nro_columna)
{
    QModelIndexList seleccion;
    int filas_seleccionadas = ui->tableView->selectionModel()->selection().count();
    if(filas_seleccionadas > 0)
    {

        if(ui->tableView->selectionModel()->selectedRows().count() < 1)
        {
            QModelIndexList allIndexes = ui->tableView->selectionModel()->selectedIndexes();
            foreach(QModelIndex index, allIndexes)
            {
                seleccion.append(index.sibling(index.row(), nro_columna));

            }
        }
        else
        {
            seleccion = ui->tableView->selectionModel()->selectedRows();

        }

    }

    return seleccion;
}



void VentanaConsulta::on_comboBuscarPor_currentTextChanged(const QString &arg1)
{
    qDebug() << arg1;
}


void VentanaConsulta::on_textoBusqueda_editingFinished()
{

}

void VentanaConsulta::contextMenuEvent(QContextMenuEvent *event)
{
    qDebug() << event->isAccepted();
}


void VentanaConsulta::on_comboBuscarPor_currentIndexChanged(int index)
{
    qDebug() << QString::number(index);
}

void VentanaConsulta::on_checkActivos_toggled(bool checked)
{
    qDebug() << checked;
}

void VentanaConsulta::on_tableView_doubleClicked()
{

}
